package com.stylefeng.guns.modular.system.controller;

import com.stylefeng.guns.common.controller.BaseController;
import com.stylefeng.guns.common.persistence.dao.UserMapper;
import com.stylefeng.guns.common.persistence.model.JoinStep;
import com.stylefeng.guns.common.persistence.model.User;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.modular.system.dao.OrgInfoDao;
import org.springframework.stereotype.Controller;

import javax.annotation.Resource;

/**
 * 权限监测
 *
 * @Date 2018年9月6日
 */
@Controller
public class CheckAccessUtil extends BaseController {

    @Resource
    UserMapper userMapper;
    @Resource
    OrgInfoDao orgInfoDao;

    /**
     *  如果返回 -1 表示 userId 不存在 即info_id 不存在
     *  如果返回 0 则表示要查询所有 数据
     *  如果返回 不等于0  则返回值为 jinfo_id
     * @return
     */
    public int CheckAccess() {

        //通过shrio获取用户登录信息
        Integer userId= ShiroKit.getUser().getId();
        //userId 不存在返回负数
        if(userId < 0){
            return -1;
        }
        //根据userId 去对比权限
        //此处userId 就是 user表的id
        User user = userMapper.selectById(userId);
        //判断权限范围
        //这里仅仅判断为 2 的情况，2 表示代理商
        int roleId = Integer.valueOf(user.getRoleid());

        if(2 == roleId){
            //根据userId 找到org_info对象信息
            Integer a = userId;
            Integer b = orgInfoDao.findByAdminUserId(a).getId();
            return b;

        }
        //其他情况返回为0，这里代表的仅仅是admin用户
        return 0;
    }



}
